home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / MRAC / Variations / pick-rnd1 < prev    next >
Lisp/Scheme  |  1998-08-11  |  829b  |  21 lines

  1. pick-rnd1 seed type count pattern 
  2.  
  3. type :list :content
  4.  
  5. Use this function as a building block in complex expressions which need a tool for picking elements using a random generator from a list or lists. This version of the 'pick' series of functions has two distinct features: in picking elements from a single list it will not replicate items; when the :list parameter is set for a multiple list lists rather than items in lists are picked. For a detailed view of the parameters of this function see pick-rnd.
  6.  
  7. (setq pat1 '(a a b c c d e f g h))
  8. (setq pat2 '((a b a b c d) (a b e b c d) (e f g h)))
  9.  
  10. (pick-rnd1 .56 :content 2 pat1)
  11. => (a c)
  12.  
  13. (pick-rnd1 .56 :list 2 pat2)
  14. => ((a b a b c d) (a b e b c d))
  15.  
  16. (pick-rnd1 .56 :content 2 pat2)
  17. => ((a c) (d e) (h e))
  18.  
  19. (pick-rnd1 .56 :content '(2 3 3) pat2)
  20. => ((a c) (d e b) (h e g))
  21.